// packageH/deposit_group/component/progress/progress.js
Component({
  properties: {
    //设置当前完成步数
    steps: {
      type: Number,
      value: 0
    },
    stepsList: {
      type: Array,
    },
    tips_bg_color: {
      type: String,
    }
  },

  data: {
    percent: 50, // 进度条基础百分之五十
    number: -1,
    progressList: [],
    bubbleList: []
  },
  lifetimes: {
    attached() {
      console.log(this.data.tips_bg_color);
    }
  },
  pageLifetimes: {
    show() {},
    hide() {
      clearInterval(this.timer);
    }
  },
  observers: {
    'stepsList': function (newVal) {
      this.setProgress();
    }
  },
  /**
   * 组件的方法列表
   */
  methods: {
    setProgress() {
      let arr = this.data.stepsList;
      let reStepsList = [];
      let reSteps = 0;
      if (arr.length <= 2) {
        this.setData({
          percent: 100
        });
      } else {
        this.setData({
          percent: 50
        });
      }
      if (arr.length <= 3) {
        reStepsList = arr;
        reSteps = this.data.steps;
      } else if ((this.data.steps < arr.length - 1) && this.data.steps == 0) {
        reStepsList.push(arr[0], arr[0 + 1], arr[arr.length - 1]);
      } else if ((this.data.steps < arr.length - 1) && this.data.steps > 0) {
        reStepsList.push(arr[0], arr[this.data.steps], arr[arr.length - 1]);
        reSteps = 1;
      } else {
        reStepsList.push(arr[0], arr[Math.round(arr.length / 2)], arr[arr.length - 1]);
        reSteps = 2;
      }
      this.setData({
        steps: reSteps,
        progressList: reStepsList
      });
    },

    // 冒泡动画
    randomNum(minNum, maxNum) {
      switch (arguments.length) {
      case 1:
        return parseInt(Math.random() * minNum + 1, 10);
      case 2:
        return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10);
      default:
        return 0;
      }
    },

    translate() {
      let randomNumX = this.randomNum(-20, 20);
      this.setData({
        number: this.data.number + 1
      }, () => {
        if (this.data.number > 7) {
          this.setData({
            number: -1
          });
        }
      });
      // .active 是选择器
      this.animate('.active', [{
        opacity: 1,
        translateY: 0,
      },
      {
        opacity: 1,
        translate: [randomNumX, this.randomNum(-5, -20)]
      },
      {
        // opacity: 0,
        translate: [randomNumX, -200]
      },
      ], 1500, function () {
        //动画完成后的回调函数
      }.bind(this));
    },
  }
});